In order to gain access to applications or other resources via a computer or another user device, users are often required to authenticate themselves by entering authentication information. Such authentication information may comprise, for example, passwords that are generated by a security token carried by a user. These passwords may be one-time passwords that are generated using a time-synchronous or event-based algorithm. One particular example of a well-known type of security token is the RSA SecurID® user authentication token commercially available from RSA Security Inc. of Bedford, Mass., U.S.A.
In most existing token-based user authentication systems, a security token belonging to a user generates a one-time passcode for verification by an authentication server. While the one-time passcodes provide an effective mechanism for authenticating the user, it may be necessary or desirable to communicate additional or auxiliary information with the one-time passcode to the authentication server. For example, such auxiliary information may encompass the physical integrity of the security token, battery-lifetime indicators, or randomly evolving key material. The communication channel by which such auxiliary information is transmitted is referred to as an auxiliary channel that augments the main authentication channel provided by the one-time passcodes.
U.S. Pat. No. 7,502,933, entitled “Identity Authentication System and Method,” describes an auxiliary channel construction for authentication tokens. Generally, auxiliary information is embedded in a passcode, yielding a new embedded passcode for display on the security token and transcription by the user. While the disclosed embedding technique provides an effective mechanism for embedding auxiliary information with a passcode, a need remains for improved techniques for encoding the auxiliary information. A further need exists for techniques for encoding the auxiliary information that provides improved resilience to typographical errors when the embedded passcode is transcribed by the user, as well as improved resilience to malicious tampering with the passcodes by an attacker.